package com.punch.user.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.punch.common.dto.login.AppLoginUserDTO;
import com.punch.common.dto.user.user.PlatformUserDTO;
import com.punch.common.model.LoginUser;
import com.punch.common.vo.user.user.PlatformUserVO;
import com.punch.user.model.PlatformUser;


/**
 * <p>
 * 平台用户 服务类
 * </p>
 *
 * @author wjj
 * @since 2020-12-03
 */
public interface PlatformUserService extends IService<PlatformUser> {

    /**
     * 平台用户登录,不存在则注册
     *
     * @param appLoginUserDTO 平台用户表单
     */
    void saveOrUpdatePlatformUser(AppLoginUserDTO appLoginUserDTO);

    /**
     * 获取用户信息
     *
     * @param mobile 手机号码
     * @return LoginUser
     */
    LoginUser getUserByMobile(String mobile);

    /**
     * 平台用户忘记密码
     *
     * @param appLoginUserDTO 平台用户表单
     */
    Boolean forgetUserPwd(AppLoginUserDTO appLoginUserDTO);

    /**
     * 获取app登录用户信息
     *
     * @return PlatformUserVO
     */
    PlatformUserVO getLoginUser();

    /**
     * 修改app用户信息
     *
     * @param platformUserDTO 用户修改表单
     */
    void updatePlatformUser(PlatformUserDTO platformUserDTO);
}
